extends "自定义类.gd"#继承类文件，类文件可以继承全局类，另一个类文件和另一个类文件的内部类，不能多重继承

var c = preload("自定义类.gd")#载入类文件，预加载（preload）将在编译时加载，而加载（load）将在函数运行时加载
var parent_args = 2#类成员变量

class SomeInnerClass:#内部类
	var e = 3#内部类成员变量
	func print_value_of_e():#内部类成员函数
		print(e)

func _init().(parent_args):#要传递参数给父类，要在构造函数后加点和括号.（参数）
	print("子类的构造函数运行了")

func print_value_of_a():#覆盖（重写）函数
	print("这是一个覆盖函数")
	return .print_value_of_a()#在覆盖函数中调用基类的函数

func _ready():
	var d = .print_value_of_a()#调用基类的函数，在函数前加点.
	print(d)

	print(print_value_of_a())#调用覆盖（重写）函数

	d = SomeInnerClass.new()#使用类名.new（）函数可以创建实例
	d.print_value_of_e()#调用内部类的实例的函数

	print(d is SomeInnerClass)#is关键字可以判断实例是否属于这个类

	d = c.new(6)#实例化一个文件类，参数是构造函数的参数
	d.print_value_of_a()#调用实例的函数

	print(d is SomeInnerClass)#判断实例是否属于类